package org.ljf.service;

import org.ljf.dao.Seckill;
import org.ljf.dto.Exposer;
import org.ljf.dto.SecKillEcution;
import org.ljf.exception.RepeatKillException;
import org.ljf.exception.SecKillCloseException;
import org.ljf.exception.SecKillException;

import java.util.List;

/**
 * 三个方面， 方法定义粒度，参数，返回类型（return 类型）
 *
 * @创建人 lIUJF
 * @创建时间 2018/12/20
 * @描述:
 */
public interface SeckillService {
	/**
	 * 查询秒杀记录
	 */
	List<Seckill> getAllSecKiller();

	//查询单个秒杀记录
	Seckill getById(long secKillId);

	//输出秒杀接口地址，否则输出系统时间和秒杀时间
	Exposer expoertSecKillUrl(long secKillId);

	SecKillEcution executeKill(String md5, long secKillId, long userPhone)
			throws SecKillException,RepeatKillException,SecKillCloseException;
}
